package org.bopis.form;

import javax.servlet.http.HttpServletRequest;

import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.bopis.utilidades.Utilidades;

/**
 * Clase que gestiona los datos de los formularios de búsqueda de marcas
 * @author i-fernandezmolina
 *
 */
public class BusquedaMarcasForm extends ActionForm{
	
	private String idMarca;
	private String fechaDesde;
	private String fechaHasta;
	private String denominacion;
	private String modalidad;
	private String numSolicitud;
	private String titular;
	private String domicilioTitular;
	private String representante;
	private String domicilioRepresentante;
	private String indicacionColores;
	
	
	public String getFechaDesde() {
		return fechaDesde;
	}

	public void setFechaDesde(String fechaDesde) {
		this.fechaDesde = fechaDesde;
	}

	public String getFechaHasta() {
		return fechaHasta;
	}

	public void setFechaHasta(String fechaHasta) {
		this.fechaHasta = fechaHasta;
	}

	public String getDenominacion() {
		return denominacion;
	}

	public void setDenominacion(String denominacion) {
		this.denominacion = denominacion;
	}

	public String getModalidad() {
		return modalidad;
	}

	public void setModalidad(String modalidad) {
		this.modalidad = modalidad;
	}

	public String getNumSolicitud() {
		return numSolicitud;
	}

	public void setNumSolicitud(String numSolicitud) {
		this.numSolicitud = numSolicitud;
	}

	public String getTitular() {
		return titular;
	}

	public void setTitular(String titular) {
		this.titular = titular;
	}

	public String getDomicilioTitular() {
		return domicilioTitular;
	}

	public void setDomicilioTitular(String domicilioTitular) {
		this.domicilioTitular = domicilioTitular;
	}

	public String getRepresentante() {
		return representante;
	}

	public void setRepresentante(String representante) {
		this.representante = representante;
	}

	public String getDomicilioRepresentante() {
		return domicilioRepresentante;
	}

	public void setDomicilioRepresentante(String domicilioRepresentante) {
		this.domicilioRepresentante = domicilioRepresentante;
	}
	

	public String getIndicacionColores() {
		return indicacionColores;
	}

	public void setIndicacionColores(String indicacionColores) {
		this.indicacionColores = indicacionColores;
	}
	
	public String getIdMarca() {
		return idMarca;
	}

	public void setIdMarca(String idMarca) {
		this.idMarca = idMarca;
	}

	/**
  	 * Validaciones del fomulario
  	 */
  	public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) 
  	{
    	ActionErrors errors = new ActionErrors();
	
    	//la fecha de busqueda es obligatoria
    	if(Utilidades.isVacia(fechaDesde)){
    		errors.add("fechaDesde", new ActionMessage("buscar.marca.fdesde.required"));
    	}
    	
    	if(Utilidades.isVacia(fechaHasta)){
    		errors.add("fechaHasta", new ActionMessage("buscar.marca.fhasta.required"));
    	}
    	
    	//TODO hay que comprobar la busqueda entre fechas
    	
    	return errors;
  	}
	
  	/**
   	 * Resetea todas las propiedades a sus valores por defecto.
   	 */
  	public void reset(ActionMapping mapping, HttpServletRequest request) 
  	{
  		this.fechaDesde = null;
  		this.fechaHasta = null;
  		this.denominacion = null;
  		this.modalidad = null;
  		this.numSolicitud = null;
  		this.titular = null;
  		this.domicilioTitular = null;
  		this.representante = null;
  		this.domicilioRepresentante = null;
  		this.indicacionColores = null;  		
  	}
	
}
